package io.vincentwinner.systeminfoapi.dao;

/**
 * CPU 信息
 */
public interface ICentralProcessUnitDao {

    /**
     * @return 处理器制造商
     */
    String getVendor();

    /**
     * @return 处理器产品名
     */
    String getCPUName();

    /**
     * @return 处理器产品族
     */
    String getFamily();

    /**
     * @return 逻辑核心数量
     */
    Integer getLogicalCoreNum();

    /**
     * @return 物理核心数量
     */
    Integer getPhysicalCoreNum();

    /**
     * @return CPU型号信息
     */
    String getModel();

    /**
     * @return CPU步进信息
     */
    String getStepping();

    /**
     * @return CPU出厂频率
     */
    Long getVendorFreq();

    /**
     * @return CPU最大频率
     */
    Long getMaxFreq();

    /**
     * @return 是否为 64bit CPU
     */
    Boolean isCpu64Bit();

    /**
     * 获取当前 CPU 使用率
     * @return 当前系统当前 CPU 使用率
     */
    Double getUsage();

}
